@echo off
chcp 65001

:: 确保父目录存在
IF NOT EXIST .\build (
    :: 创建输出目录（如果不存在）
    MKDIR .\build
)

:: 使用Go进行构建
ECHO =============== 下载依赖文件 ===============
go mod tidy
ECHO Done

ECHO.
ECHO =============== 正在编译 Windows ===============
:: 获取go版本号
SET version=%1
:: 设置交叉编译环境变量
go env -w GOOS=windows
:: 执行交叉编译命令
go%version% build -ldflags="-s -w" -o .\build\vector.exe main.go && upx -9 .\build\vector.exe


ECHO.
ECHO =============== 正在编译 Linux ===============
:: 设置交叉编译环境变量
go env -w GOOS=linux
go env -w CGO_ENABLED=0
:: 执行交叉编译命令
go build -ldflags="-s -w" -o .\build\vector main.go && upx -9 .\build\vector
:: 重置编译环境变量
go env -w GOOS=windows
go env -w CGO_ENABLED=1


:: 编译完成
ECHO.
ECHO 全部编译完成！

ECHO.
ECHO =============== 复制配置文件 ===============
:: 复制所有文件及其子目录
XCOPY ".\config\*.toml" ".\build\config\" /Y
ECHO Done

pause
EXIT /B 0
